Skip to content

fix: fill in some documented gaps with rules that exist#1

Merged
wschurman merged 1 commit into
mainfrom
@wschurman/fill-gaps-1
Apr 8, 2026
Merged

fix: fill in some documented gaps with rules that exist#1
wschurman merged 1 commit into
mainfrom
@wschurman/fill-gaps-1

Conversation

@wschurman
Copy link
Copy Markdown
Member

Some of the gaps documented in README do have existing rules. This updates the readme and the configs accordingly.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates oxlint-config-universe to close documented gaps by enabling additional oxlint rules (including TypeScript- and type-aware rules) and aligning the README and test snapshots with the updated rule coverage.

Changes:

  • Enable additional TypeScript rules in shared/typescript.js (e.g., TS variants of no-redeclare, no-unused-vars, etc.).
  • Add typescript/no-implied-eval to the type-aware TypeScript preset and add no-new-native-nonconstructor to core rules.
  • Update README rule-coverage documentation and refresh Jest snapshots to match the new lint output.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
shared/typescript.js Enables several TypeScript-prefixed equivalents of existing core rules.
shared/typescript-analysis.js Adds type-aware typescript/no-implied-eval coverage.
shared/core.js Adds core rule no-new-native-nonconstructor.
README.md Updates the “coverage gaps” documentation to reflect newly enabled rules/presets.
tests/snapshots/default-test.js.snap Updates expected lint output for default preset after rule changes.
tests/snapshots/node-test.js.snap Updates expected lint output for node preset after rule changes.
tests/snapshots/web-test.js.snap Updates expected lint output for web preset after rule changes.
tests/snapshots/native-test.js.snap Updates expected lint output for native preset after rule changes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread shared/typescript.js
Comment on lines +9 to +13
'typescript/no-dupe-class-members': 'warn',
'typescript/no-redeclare': 'warn',
'typescript/no-unused-expressions': ['warn', { allowShortCircuit: true, enforceForJSX: true }],
'typescript/no-unused-vars': [
'warn',
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typescript/no-unused-vars is enabled without any options, which appears to drop the existing underscore convention from the core no-unused-vars config (e.g., caught errors prefixed with _ are no longer ignored, and the snapshots now show a warning for catch (_ignored)). Consider configuring typescript/no-unused-vars with the same options as the core rule (at least caughtErrors: 'all' + caughtErrorsIgnorePattern: '^_', and any other repo-wide settings) to keep behavior consistent across JS/TS.

Copilot uses AI. Check for mistakes.
Comment thread README.md
Comment on lines 60 to +71
## Rules not covered by oxlint

The following rules from `eslint-config-universe` do not have oxlint equivalents. If you need them, you'll need to keep ESLint running alongside oxlint for these specific rules, or accept the gap.
The following rules from `eslint-config-universe` do not have `oxlint-config-universe` coverage. If you need them, you'll need to keep ESLint running alongside oxlint for these specific rules, or accept the gap.

### Core ESLint rules

| Rule | Notes |
| ----------------- | ---------------------------------------------------------------- |
| `no-dupe-args` | Not implemented in oxlint |
| `no-implied-eval` | Only available as `typescript/no-implied-eval`, not for plain JS |
| `no-new-symbol` | oxlint has `no-new-native-nonconstructor` as a successor |
| `no-octal` | Not implemented |
| `no-octal-escape` | Not implemented |
| Rule | Notes |
| ----------------- | --------------------------------------------------------------------------------------- |
| `no-dupe-args` | Not implemented in oxlint |
| `no-implied-eval` | Only available with type-aware, present in `oxlint-config-universe/typescript-analysis` |
| `no-octal` | Not implemented |
| `no-octal-escape` | Not implemented |
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section is titled “Rules not covered by oxlint / oxlint-config-universe coverage”, but no-implied-eval is now listed as available via oxlint-config-universe/typescript-analysis. That reads as contradictory for users skimming this list. Consider moving no-implied-eval out of the “not covered” table (or adjusting the heading/notes to clarify it’s covered, but only when opting into the type-aware preset).

Copilot uses AI. Check for mistakes.
@wschurman wschurman force-pushed the @wschurman/fill-gaps-1 branch from 00b0209 to bce1cbe Compare April 8, 2026 21:45
@wschurman wschurman merged commit 124b945 into main Apr 8, 2026
1 check passed
@wschurman wschurman deleted the @wschurman/fill-gaps-1 branch April 9, 2026 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants